/**
 * 选择排序
 * 算法思路：找出第一小的数与第一位的数交换位置，然后除开第一位，找第二小的数和数组第二位的数交换位置，以此类推，最终得到排好序的数
 * 算法时间复杂度：O(n2)
 * 算法空间复杂度：O(1)
 */

export default function (pararr) {
    let arr = pararr;
    if (!Array.isArray(arr) || arr.length < 2) {
        return;
    }
    for(let i = 0;i<arr.length-1;i++){
        //表示最小值的索引起始位置
        let idx = i;
        for(let j = i+1;j<=arr.length-1;j++){
            if(arr[idx]>arr[j]){
                idx = j;
            }
        }
        //移动最小的元素
        let tmp = arr[i];
        arr[i] = arr[idx];
        arr[idx] = tmp;
        // arr.splice(i,0,arr.splice(idx,1)[0]);
    }
    return arr;
}